//////////////////////////////////////////////////////////////////////////

#ifndef _SERVERSTATEPACKETONSERVER_H_
#define _SERVERSTATEPACKETONSERVER_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _SERVERPACKETONSERVER_H_
#include "serverpacketonserver.h"
#endif

#ifndef _SERVERSTATEPACKET_H_
#include "serverstatepacket.h"
#endif

//////////////////////////////////////////////////////////////////////////


/** Base class for packets, that go from server to clients
*
*  @author   Roman Pasechnik
*  @since    Nov 11th, 2009
*  @updated  Nov 11th, 2009
*/
class ServerStatePacketOnServer : public ServerPacketOnServer
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    ServerStatePacketOnServer( int _clientID,
                               const ServerStatePacket& _serverStatePacket );


    /** Destructor */
    virtual ~ServerStatePacketOnServer();


//////////////////////////////////////////////////////////////////////////


    /** Visit server network */
    virtual void VisitServerNetwork( ServerNetwork* _server ) const;


//////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////


    /** Server state packet */
    ServerStatePacket m_ServerStatePacket;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
